Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


nomadnet/vendor/cbor.py master (89e3eea1) Text, 13.22 KB

T8b949e# https://github.com/brianolson/cbor_py
T8b949e# Copyright 2014-2015 Brian Olson
T8b949e#
T8b949e# Licensed under the Apache License, Version 2.0 (the "License");
T8b949e# you may not use this file except in compliance with the License.
T8b949e# You may obtain a copy of the License at
T8b949e#
T8b949e# http://www.apache.org/licenses/LICENSE-2.0
T8b949e#
T8b949e# Unless required by applicable law or agreed to in writing, software
T8b949e# distributed under the License is distributed on an "AS IS" BASIS,
T8b949e# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
T8b949e# See the License for the specific language governing permissions and
T8b949e# limitations under the License.

Tff7b72import T7ee787datetime
Tff7b72import T7ee787re
Tff7b72import T7ee787struct
Tff7b72from T7ee787io Tff7b72import Te6edf3BytesIO


Te6edf3CBOR_TYPE_MASK Tff7b72= T79c0ff0xE0 T8b949e# top 3 bits
Te6edf3CBOR_INFO_BITS Tff7b72= T79c0ff0x1F T8b949e# low 5 bits


Te6edf3CBOR_UINT Tff7b72= T79c0ff0x00
Te6edf3CBOR_NEGINT Tff7b72= T79c0ff0x20
Te6edf3CBOR_BYTES Tff7b72= T79c0ff0x40
Te6edf3CBOR_TEXT Tff7b72= T79c0ff0x60
Te6edf3CBOR_ARRAY Tff7b72= T79c0ff0x80
Te6edf3CBOR_MAP Tff7b72= T79c0ff0xA0
Te6edf3CBOR_TAG Tff7b72= T79c0ff0xC0
Te6edf3CBOR_7 Tff7b72= T79c0ff0xE0 T8b949e# float and other types

Te6edf3CBOR_UINT8_FOLLOWS Tff7b72= T79c0ff24 T8b949e# 0x18
Te6edf3CBOR_UINT16_FOLLOWS Tff7b72= T79c0ff25 T8b949e# 0x19
Te6edf3CBOR_UINT32_FOLLOWS Tff7b72= T79c0ff26 T8b949e# 0x1a
Te6edf3CBOR_UINT64_FOLLOWS Tff7b72= T79c0ff27 T8b949e# 0x1b
Te6edf3CBOR_VAR_FOLLOWS Tff7b72= T79c0ff31 T8b949e# 0x1f

Te6edf3CBOR_BREAK Tff7b72= T79c0ff0xFF

Te6edf3CBOR_FALSE Tff7b72= Tb4b4b4(Te6edf3CBOR_7 Tff7b72| T79c0ff20Tb4b4b4)
Te6edf3CBOR_TRUE Tff7b72= Tb4b4b4(Te6edf3CBOR_7 Tff7b72| T79c0ff21Tb4b4b4)
Te6edf3CBOR_NULL Tff7b72= Tb4b4b4(Te6edf3CBOR_7 Tff7b72| T79c0ff22Tb4b4b4)
Te6edf3CBOR_UNDEFINED Tff7b72= Tb4b4b4(Te6edf3CBOR_7 Tff7b72| T79c0ff23Tb4b4b4) T8b949e# js 'undefined' value

Te6edf3CBOR_FLOAT16 Tff7b72= Tb4b4b4(Te6edf3CBOR_7 Tff7b72| T79c0ff25Tb4b4b4)
Te6edf3CBOR_FLOAT32 Tff7b72= Tb4b4b4(Te6edf3CBOR_7 Tff7b72| T79c0ff26Tb4b4b4)
Te6edf3CBOR_FLOAT64 Tff7b72= Tb4b4b4(Te6edf3CBOR_7 Tff7b72| T79c0ff27Tb4b4b4)

Te6edf3CBOR_TAG_DATE_STRING Tff7b72= T79c0ff0 T8b949e# RFC3339
Te6edf3CBOR_TAG_DATE_ARRAY Tff7b72= T79c0ff1 T8b949e# any number, seconds since 1970-01-01T00:00:00 UTC
Te6edf3CBOR_TAG_BIGNUM Tff7b72= T79c0ff2 T8b949e# big-endian byte string follows
Te6edf3CBOR_TAG_NEGBIGNUM Tff7b72= T79c0ff3 T8b949e# big-endian byte string follows
Te6edf3CBOR_TAG_DECIMAL Tff7b72= T79c0ff4
Te6edf3CBOR_TAG_BIGFLOAT Tff7b72= T79c0ff5
Te6edf3CBOR_TAG_BASE64URL Tff7b72= T79c0ff21
Te6edf3CBOR_TAG_BASE64 Tff7b72= T79c0ff22
Te6edf3CBOR_TAG_BASE16 Tff7b72= T79c0ff23
Te6edf3CBOR_TAG_CBOR Tff7b72= T79c0ff24

Te6edf3CBOR_TAG_URI Tff7b72= T79c0ff32
Te6edf3CBOR_TAG_REGEX Tff7b72= T79c0ff35
Te6edf3CBOR_TAG_MIME Tff7b72= T79c0ff36
Te6edf3CBOR_TAG_CBOR_FILEHEADER Tff7b72= T79c0ff55799 T8b949e# 0xd9d9f7

Te6edf3_CBOR_TAG_BIGNUM_BYTES Tff7b72= Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBTa5d6ff'Tb4b4b4, Te6edf3CBOR_TAG Tff7b72| Te6edf3CBOR_TAG_BIGNUMTb4b4b4)
Te6edf3_CBOR_TAG_NEGBIGNUM_BYTES Tff7b72= Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBTa5d6ff'Tb4b4b4, Te6edf3CBOR_TAG Tff7b72| Te6edf3CBOR_TAG_NEGBIGNUMTb4b4b4)


Tff7b72def Td2a8ff_dumps_bignum_to_bytearrayTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4:
Te6edf3out Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72while Te6edf3val Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3outTff7b72.Td2a8ffinsertTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3val Tff7b72& T79c0ff0x0ffTb4b4b4)
Te6edf3val Tff7b72= Te6edf3val Tff7b72>> T79c0ff8
Tff7b72return Tffa657bytesTb4b4b4(Te6edf3outTb4b4b4)


Tff7b72def Td2a8ffdumps_intTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4:
Ta5d6ff"Ta5d6ffreturn bytes representing int val in CBORTa5d6ff"
Tff7b72if Te6edf3val Tff7b72>Tff7b72= T79c0ff0Tb4b4b4:
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff23Tb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBTa5d6ff'Tb4b4b4, Te6edf3valTb4b4b4)
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff0x0ffTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBBTa5d6ff'Tb4b4b4, Te6edf3CBOR_UINT8_FOLLOWSTb4b4b4, Te6edf3valTb4b4b4)
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff0x0ffffTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ff!BHTa5d6ff'Tb4b4b4, Te6edf3CBOR_UINT16_FOLLOWSTb4b4b4, Te6edf3valTb4b4b4)
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff0x0ffffffffTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ff!BITa5d6ff'Tb4b4b4, Te6edf3CBOR_UINT32_FOLLOWSTb4b4b4, Te6edf3valTb4b4b4)
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff0x0ffffffffffffffffTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ff!BQTa5d6ff'Tb4b4b4, Te6edf3CBOR_UINT64_FOLLOWSTb4b4b4, Te6edf3valTb4b4b4)
Te6edf3outb Tff7b72= Te6edf3_dumps_bignum_to_bytearrayTb4b4b4(Te6edf3valTb4b4b4)
Tff7b72return Te6edf3_CBOR_TAG_BIGNUM_BYTES Tff7b72+ Te6edf3_encode_type_numTb4b4b4(Te6edf3CBOR_BYTESTb4b4b4, Tffa657lenTb4b4b4(Te6edf3outbTb4b4b4)Tb4b4b4) Tff7b72+ Te6edf3outb
Te6edf3val Tff7b72= Tff7b72-T79c0ff1 Tff7b72- Te6edf3val
Tff7b72return Te6edf3_encode_type_numTb4b4b4(Te6edf3CBOR_NEGINTTb4b4b4, Te6edf3valTb4b4b4)


Tff7b72def Td2a8ffdumps_floatTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff"Ta5d6ff!BdTa5d6ff"Tb4b4b4, Te6edf3CBOR_FLOAT64Tb4b4b4, Te6edf3valTb4b4b4)


Tff7b72def Td2a8ff_encode_type_numTb4b4b4(Te6edf3cbor_typeTb4b4b4, Te6edf3valTb4b4b4)Tb4b4b4:
T8b949e"""For some CBOR primary type [0..7] and an auxiliary unsigned number,
return CBOR encoded bytes."""
Tff7b72assert Te6edf3val Tff7b72>Tff7b72= T79c0ff0
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff23Tb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBTa5d6ff'Tb4b4b4, Te6edf3cbor_type Tff7b72| Te6edf3valTb4b4b4)
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff0x0ffTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBBTa5d6ff'Tb4b4b4, Te6edf3cbor_type Tff7b72| Te6edf3CBOR_UINT8_FOLLOWSTb4b4b4, Te6edf3valTb4b4b4)
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff0x0ffffTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ff!BHTa5d6ff'Tb4b4b4, Te6edf3cbor_type Tff7b72| Te6edf3CBOR_UINT16_FOLLOWSTb4b4b4, Te6edf3valTb4b4b4)
Tff7b72if Te6edf3val Tff7b72<Tff7b72= T79c0ff0x0ffffffffTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ff!BITa5d6ff'Tb4b4b4, Te6edf3cbor_type Tff7b72| Te6edf3CBOR_UINT32_FOLLOWSTb4b4b4, Te6edf3valTb4b4b4)
Tff7b72if Tb4b4b4(Tb4b4b4(Tb4b4b4(Te6edf3cbor_type Tff7b72== Te6edf3CBOR_NEGINTTb4b4b4) Tff7b72and Tb4b4b4(Te6edf3val Tff7b72<Tff7b72= T79c0ff0x07fffffffffffffffTb4b4b4)Tb4b4b4) Tff7b72or
Tb4b4b4(Tb4b4b4(Te6edf3cbor_type Tff7b72!= Te6edf3CBOR_NEGINTTb4b4b4) Tff7b72and Tb4b4b4(Te6edf3val Tff7b72<Tff7b72= T79c0ff0x0ffffffffffffffffTb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ff!BQTa5d6ff'Tb4b4b4, Te6edf3cbor_type Tff7b72| Te6edf3CBOR_UINT64_FOLLOWSTb4b4b4, Te6edf3valTb4b4b4)
Tff7b72if Te6edf3cbor_type Tff7b72!= Te6edf3CBOR_NEGINTTb4b4b4:
Tff7b72raise Tf85149ExceptionTb4b4b4(Ta5d6ff"Ta5d6ffvalue too big for CBOR unsigned number: Tffd700{0!r}Ta5d6ff"Tff7b72.Td2a8ffformatTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4)
Te6edf3outb Tff7b72= Te6edf3_dumps_bignum_to_bytearrayTb4b4b4(Te6edf3valTb4b4b4)
Tff7b72return Te6edf3_CBOR_TAG_NEGBIGNUM_BYTES Tff7b72+ Te6edf3_encode_type_numTb4b4b4(Te6edf3CBOR_BYTESTb4b4b4, Tffa657lenTb4b4b4(Te6edf3outbTb4b4b4)Tb4b4b4) Tff7b72+ Te6edf3outb


Tff7b72def Td2a8ffdumps_stringTb4b4b4(Te6edf3valTb4b4b4, Te6edf3is_textTff7b72=Tff7b72NoneTb4b4b4, Te6edf3is_bytesTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3valTb4b4b4, Tffa657strTb4b4b4)Tb4b4b4:
Te6edf3val Tff7b72= Te6edf3valTff7b72.Td2a8ffencodeTb4b4b4(Ta5d6ff'Ta5d6ffutf8Ta5d6ff'Tb4b4b4)
Te6edf3is_text Tff7b72= Tff7b72True
Te6edf3is_bytes Tff7b72= Tff7b72False
Tff7b72if Tb4b4b4(Te6edf3is_bytesTb4b4b4) Tff7b72or Tff7b72not Tb4b4b4(Te6edf3is_text Tff7b72== Tff7b72TrueTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3_encode_type_numTb4b4b4(Te6edf3CBOR_BYTESTb4b4b4, Tffa657lenTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4) Tff7b72+ Te6edf3val
Tff7b72return Te6edf3_encode_type_numTb4b4b4(Te6edf3CBOR_TEXTTb4b4b4, Tffa657lenTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4) Tff7b72+ Te6edf3val


Tff7b72def Td2a8ffdumps_arrayTb4b4b4(Te6edf3arrTb4b4b4, Te6edf3sort_keysTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Te6edf3head Tff7b72= Te6edf3_encode_type_numTb4b4b4(Te6edf3CBOR_ARRAYTb4b4b4, Tffa657lenTb4b4b4(Te6edf3arrTb4b4b4)Tb4b4b4)
Te6edf3parts Tff7b72= Tb4b4b4[Te6edf3dumpsTb4b4b4(Te6edf3xTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4) Tff7b72for Te6edf3x Tff7b72in Te6edf3arrTb4b4b4]
Tff7b72return Te6edf3head Tff7b72+ Ta5d6ffbTa5d6ff'Ta5d6ff'Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3partsTb4b4b4)


Tff7b72def Td2a8ffdumps_dictTb4b4b4(Te6edf3dTb4b4b4, Te6edf3sort_keysTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Te6edf3head Tff7b72= Te6edf3_encode_type_numTb4b4b4(Te6edf3CBOR_MAPTb4b4b4, Tffa657lenTb4b4b4(Te6edf3dTb4b4b4)Tb4b4b4)
Te6edf3parts Tff7b72= Tb4b4b4[Te6edf3headTb4b4b4]
Tff7b72if Te6edf3sort_keysTb4b4b4:
Tff7b72for Te6edf3k Tff7b72in Tffa657sortedTb4b4b4(Te6edf3dTff7b72.Td2a8ffkeysTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4:
Te6edf3v Tff7b72= Te6edf3dTb4b4b4[Te6edf3kTb4b4b4]
Te6edf3partsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3dumpsTb4b4b4(Te6edf3kTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)Tb4b4b4)
Te6edf3partsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3dumpsTb4b4b4(Te6edf3vTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72for Te6edf3kTb4b4b4, Te6edf3v Tff7b72in Te6edf3dTff7b72.Td2a8ffitemsTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3partsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3dumpsTb4b4b4(Te6edf3kTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)Tb4b4b4)
Te6edf3partsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3dumpsTb4b4b4(Te6edf3vTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)Tb4b4b4)
Tff7b72return Ta5d6ffbTa5d6ff'Ta5d6ff'Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3partsTb4b4b4)


Tff7b72def Td2a8ffdumps_boolTb4b4b4(Te6edf3bTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3bTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBTa5d6ff'Tb4b4b4, Te6edf3CBOR_TRUETb4b4b4)
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBTa5d6ff'Tb4b4b4, Te6edf3CBOR_FALSETb4b4b4)


Tff7b72def Td2a8ffdumps_tagTb4b4b4(Te6edf3tTb4b4b4, Te6edf3sort_keysTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3_encode_type_numTb4b4b4(Te6edf3CBOR_TAGTb4b4b4, Te6edf3tTff7b72.Td2a8fftagTb4b4b4) Tff7b72+ Te6edf3dumpsTb4b4b4(Te6edf3tTff7b72.Td2a8ffvalueTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)


Tff7b72def Td2a8ffdumpsTb4b4b4(Te6edf3obTb4b4b4, Te6edf3sort_keysTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3ob Tff7b72is Tff7b72NoneTb4b4b4:
Tff7b72return Te6edf3structTff7b72.Td2a8ffpackTb4b4b4(Ta5d6ff'Ta5d6ffBTa5d6ff'Tb4b4b4, Te6edf3CBOR_NULLTb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3obTb4b4b4, Tffa657boolTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3dumps_boolTb4b4b4(Te6edf3obTb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3obTb4b4b4, Tb4b4b4(Tffa657strTb4b4b4, Tffa657bytesTb4b4b4, Tffa657bytearrayTb4b4b4)Tb4b4b4)Tb4b4b4:
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3obTb4b4b4, Tffa657bytearrayTb4b4b4)Tb4b4b4:
Te6edf3ob Tff7b72= Tffa657bytesTb4b4b4(Te6edf3obTb4b4b4)
Tff7b72return Te6edf3dumps_stringTb4b4b4(Te6edf3obTb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3obTb4b4b4, Tb4b4b4(Tffa657listTb4b4b4, Tffa657tupleTb4b4b4)Tb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3dumps_arrayTb4b4b4(Te6edf3obTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3obTb4b4b4, Tffa657dictTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3dumps_dictTb4b4b4(Te6edf3obTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3obTb4b4b4, Tffa657floatTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3dumps_floatTb4b4b4(Te6edf3obTb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3obTb4b4b4, Tffa657intTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3dumps_intTb4b4b4(Te6edf3obTb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3obTb4b4b4, Te6edf3TagTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3dumps_tagTb4b4b4(Te6edf3obTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)
Tff7b72raise Tf85149ExceptionTb4b4b4(Ta5d6ff"Ta5d6ffdonTa5d6ff'Ta5d6fft know how to cbor serialize object of type Tffd700%sTa5d6ff" Tff7b72% Tffa657typeTb4b4b4(Te6edf3obTb4b4b4)Tb4b4b4)


Tff7b72def Td2a8ffdumpTb4b4b4(Te6edf3objTb4b4b4, Te6edf3fpTb4b4b4, Te6edf3sort_keysTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
T8b949e"""obj: Python object to serialize. fp: file-like object capable of .write(bytes)."""
Te6edf3blob Tff7b72= Te6edf3dumpsTb4b4b4(Te6edf3objTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)
Te6edf3fpTff7b72.Td2a8ffwriteTb4b4b4(Te6edf3blobTb4b4b4)


Tff7b72class T56d364TagTb4b4b4(Tffa657objectTb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3tagTff7b72=Tff7b72NoneTb4b4b4, Te6edf3valueTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8fftag Tff7b72= Te6edf3tag
Tff7b72selfTff7b72.Td2a8ffvalue Tff7b72= Te6edf3value

Tff7b72def Tff7b72__repr__Tb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72return Ta5d6ff"Ta5d6ffTag(Tffd700{0!r}Ta5d6ff, Tffd700{1!r}Ta5d6ff)Ta5d6ff"Tff7b72.Td2a8ffformatTb4b4b4(Tff7b72selfTff7b72.Td2a8fftagTb4b4b4, Tff7b72selfTff7b72.Td2a8ffvalueTb4b4b4)

Tff7b72def Tff7b72__eq__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3otherTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tffa657isinstanceTb4b4b4(Te6edf3otherTb4b4b4, Te6edf3TagTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72False
Tff7b72return Tb4b4b4(Tff7b72selfTff7b72.Td2a8fftag Tff7b72== Te6edf3otherTff7b72.Td2a8fftagTb4b4b4) Tff7b72and Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffvalue Tff7b72== Te6edf3otherTff7b72.Td2a8ffvalueTb4b4b4)

Tff7b72def Tff7b72__hash__Tb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72return Tffa657hashTb4b4b4(Tb4b4b4(Tff7b72selfTff7b72.Td2a8fftagTb4b4b4, Tff7b72selfTff7b72.Td2a8ffvalueTb4b4b4)Tb4b4b4) Tff7b72if Tff7b72not Tffa657isinstanceTb4b4b4(Tff7b72selfTff7b72.Td2a8ffvalueTb4b4b4, Tb4b4b4(Tffa657listTb4b4b4, Tffa657dictTb4b4b4, Tffa657bytearrayTb4b4b4)Tb4b4b4) Tff7b72else Tffa657idTb4b4b4(Tff7b72selfTb4b4b4)


Tff7b72def Td2a8ffloadsTb4b4b4(Te6edf3dataTb4b4b4)Tb4b4b4:
T8b949e"""Parse CBOR bytes and return Python objects."""
Tff7b72if Te6edf3data Tff7b72is Tff7b72NoneTb4b4b4:
Tff7b72raise Tf85149ValueErrorTb4b4b4(Ta5d6ff"Ta5d6ffgot None for buffer to decode in loadsTa5d6ff"Tb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3dataTb4b4b4, Tb4b4b4(Tffa657bytesTb4b4b4, Tffa657bytearrayTb4b4b4, Tffa657memoryviewTb4b4b4)Tb4b4b4)Tb4b4b4:
Te6edf3fp Tff7b72= Te6edf3BytesIOTb4b4b4(Tffa657bytesTb4b4b4(Te6edf3dataTb4b4b4)Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3fp Tff7b72= Te6edf3data
Tff7b72return Te6edf3_loadsTb4b4b4(Te6edf3fpTb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]


Tff7b72def Td2a8ffloadTb4b4b4(Te6edf3fpTb4b4b4)Tb4b4b4:
T8b949e"""Parse and return object from fp, a file-like object supporting .read(n)."""
Tff7b72return Te6edf3_loadsTb4b4b4(Te6edf3fpTb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]


Te6edf3_MAX_DEPTH Tff7b72= T79c0ff100


Tff7b72def Td2a8ff_tag_auxTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3tbTb4b4b4)Tb4b4b4:
Te6edf3bytes_read Tff7b72= T79c0ff1
Te6edf3tag Tff7b72= Te6edf3tb Tff7b72& Te6edf3CBOR_TYPE_MASK
Te6edf3tag_aux Tff7b72= Te6edf3tb Tff7b72& Te6edf3CBOR_INFO_BITS
Tff7b72if Te6edf3tag_aux Tff7b72<Tff7b72= T79c0ff23Tb4b4b4:
Te6edf3aux Tff7b72= Te6edf3tag_aux
Tff7b72elif Te6edf3tag_aux Tff7b72== Te6edf3CBOR_UINT8_FOLLOWSTb4b4b4:
Te6edf3data Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Te6edf3aux Tff7b72= Te6edf3structTff7b72.Td2a8ffunpack_fromTb4b4b4(Ta5d6ff"Ta5d6ff!BTa5d6ff"Tb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]
Te6edf3bytes_read Tff7b72+Tff7b72= T79c0ff1
Tff7b72elif Te6edf3tag_aux Tff7b72== Te6edf3CBOR_UINT16_FOLLOWSTb4b4b4:
Te6edf3data Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff2Tb4b4b4)
Te6edf3aux Tff7b72= Te6edf3structTff7b72.Td2a8ffunpack_fromTb4b4b4(Ta5d6ff"Ta5d6ff!HTa5d6ff"Tb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]
Te6edf3bytes_read Tff7b72+Tff7b72= T79c0ff2
Tff7b72elif Te6edf3tag_aux Tff7b72== Te6edf3CBOR_UINT32_FOLLOWSTb4b4b4:
Te6edf3data Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff4Tb4b4b4)
Te6edf3aux Tff7b72= Te6edf3structTff7b72.Td2a8ffunpack_fromTb4b4b4(Ta5d6ff"Ta5d6ff!ITa5d6ff"Tb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]
Te6edf3bytes_read Tff7b72+Tff7b72= T79c0ff4
Tff7b72elif Te6edf3tag_aux Tff7b72== Te6edf3CBOR_UINT64_FOLLOWSTb4b4b4:
Te6edf3data Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff8Tb4b4b4)
Te6edf3aux Tff7b72= Te6edf3structTff7b72.Td2a8ffunpack_fromTb4b4b4(Ta5d6ff"Ta5d6ff!QTa5d6ff"Tb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]
Te6edf3bytes_read Tff7b72+Tff7b72= T79c0ff8
Tff7b72elseTb4b4b4:
Tff7b72assert Te6edf3tag_aux Tff7b72== Te6edf3CBOR_VAR_FOLLOWSTb4b4b4, Ta5d6ff"Ta5d6ffbogus tag Tffd700{0:02x}Ta5d6ff"Tff7b72.Td2a8ffformatTb4b4b4(Te6edf3tbTb4b4b4)
Te6edf3aux Tff7b72= Tff7b72None

Tff7b72return Te6edf3tagTb4b4b4, Te6edf3tag_auxTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3bytes_read


Tff7b72def Td2a8ff_read_byteTb4b4b4(Te6edf3fpTb4b4b4)Tb4b4b4:
Te6edf3tb Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Tffa657lenTb4b4b4(Te6edf3tbTb4b4b4) Tff7b72== T79c0ff0Tb4b4b4:
Tff7b72raise Tf85149EOFErrorTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3tbTb4b4b4[T79c0ff0Tb4b4b4]


Tff7b72def Td2a8ff_loads_var_arrayTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4, Te6edf3bytes_readTb4b4b4)Tb4b4b4:
Te6edf3ob Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3tb Tff7b72= Te6edf3_read_byteTb4b4b4(Te6edf3fpTb4b4b4)
Tff7b72while Te6edf3tb Tff7b72!= Te6edf3CBOR_BREAKTb4b4b4:
Tb4b4b4(Te6edf3subobTb4b4b4, Te6edf3sub_lenTb4b4b4) Tff7b72= Te6edf3_loads_tbTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3tbTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4)
Te6edf3bytes_read Tff7b72+Tff7b72= T79c0ff1 Tff7b72+ Te6edf3sub_len
Te6edf3obTff7b72.Td2a8ffappendTb4b4b4(Te6edf3subobTb4b4b4)
Te6edf3tb Tff7b72= Te6edf3_read_byteTb4b4b4(Te6edf3fpTb4b4b4)
Tff7b72return Tb4b4b4(Te6edf3obTb4b4b4, Te6edf3bytes_read Tff7b72+ T79c0ff1Tb4b4b4)


Tff7b72def Td2a8ff_loads_var_mapTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4, Te6edf3bytes_readTb4b4b4)Tb4b4b4:
Te6edf3ob Tff7b72= Tb4b4b4{Tb4b4b4}
Te6edf3tb Tff7b72= Te6edf3_read_byteTb4b4b4(Te6edf3fpTb4b4b4)
Tff7b72while Te6edf3tb Tff7b72!= Te6edf3CBOR_BREAKTb4b4b4:
Tb4b4b4(Te6edf3subkTb4b4b4, Te6edf3sub_lenTb4b4b4) Tff7b72= Te6edf3_loads_tbTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3tbTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4)
Te6edf3bytes_read Tff7b72+Tff7b72= T79c0ff1 Tff7b72+ Te6edf3sub_len
Tb4b4b4(Te6edf3subvTb4b4b4, Te6edf3sub_lenTb4b4b4) Tff7b72= Te6edf3_loadsTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4)
Te6edf3bytes_read Tff7b72+Tff7b72= Te6edf3sub_len
Te6edf3obTb4b4b4[Te6edf3subkTb4b4b4] Tff7b72= Te6edf3subv
Te6edf3tb Tff7b72= Te6edf3_read_byteTb4b4b4(Te6edf3fpTb4b4b4)
Tff7b72return Tb4b4b4(Te6edf3obTb4b4b4, Te6edf3bytes_read Tff7b72+ T79c0ff1Tb4b4b4)


Tff7b72def Td2a8ff_loads_arrayTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3bytes_readTb4b4b4)Tb4b4b4:
Te6edf3ob Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72for Te6edf3_ Tff7b72in Tffa657rangeTb4b4b4(Te6edf3auxTb4b4b4)Tb4b4b4:
Te6edf3subobTb4b4b4, Te6edf3subpos Tff7b72= Te6edf3_loadsTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4)
Te6edf3bytes_read Tff7b72+Tff7b72= Te6edf3subpos
Te6edf3obTff7b72.Td2a8ffappendTb4b4b4(Te6edf3subobTb4b4b4)
Tff7b72return Te6edf3obTb4b4b4, Te6edf3bytes_read


Tff7b72def Td2a8ff_loads_mapTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3bytes_readTb4b4b4)Tb4b4b4:
Te6edf3ob Tff7b72= Tb4b4b4{Tb4b4b4}
Tff7b72for Te6edf3_ Tff7b72in Tffa657rangeTb4b4b4(Te6edf3auxTb4b4b4)Tb4b4b4:
Te6edf3subkTb4b4b4, Te6edf3subpos Tff7b72= Te6edf3_loadsTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4)
Te6edf3bytes_read Tff7b72+Tff7b72= Te6edf3subpos
Te6edf3subvTb4b4b4, Te6edf3subpos Tff7b72= Te6edf3_loadsTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4)
Te6edf3bytes_read Tff7b72+Tff7b72= Te6edf3subpos
Te6edf3obTb4b4b4[Te6edf3subkTb4b4b4] Tff7b72= Te6edf3subv
Tff7b72return Te6edf3obTb4b4b4, Te6edf3bytes_read


Tff7b72def Td2a8ff_loadsTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTff7b72=Tff7b72NoneTb4b4b4, Te6edf3depthTff7b72=T79c0ff0Tb4b4b4, Te6edf3returntagsTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Ta5d6ff"Ta5d6ffreturn (object, bytes read)Ta5d6ff"
Tff7b72if Te6edf3depth Tff7b72> Te6edf3_MAX_DEPTHTb4b4b4:
Tff7b72raise Tf85149ExceptionTb4b4b4(Ta5d6ff"Ta5d6ffhit CBOR loads recursion depth limitTa5d6ff"Tb4b4b4)
Te6edf3tb Tff7b72= Te6edf3_read_byteTb4b4b4(Te6edf3fpTb4b4b4)
Tff7b72return Te6edf3_loads_tbTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3tbTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4)


Tff7b72def Td2a8ff_loads_tbTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3tbTb4b4b4, Te6edf3limitTff7b72=Tff7b72NoneTb4b4b4, Te6edf3depthTff7b72=T79c0ff0Tb4b4b4, Te6edf3returntagsTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
T8b949e# Some special cases of CBOR_7 best handled by special struct.unpack logic here
Tff7b72if Te6edf3tb Tff7b72== Te6edf3CBOR_FLOAT16Tb4b4b4:
Te6edf3data Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff2Tb4b4b4)
Te6edf3hibyteTb4b4b4, Te6edf3lowbyte Tff7b72= Te6edf3structTff7b72.Td2a8ffunpack_fromTb4b4b4(Ta5d6ff"Ta5d6ffBBTa5d6ff"Tb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4)
Te6edf3exp Tff7b72= Tb4b4b4(Te6edf3hibyte Tff7b72>> T79c0ff2Tb4b4b4) Tff7b72& T79c0ff0x1F
Te6edf3mant Tff7b72= Tb4b4b4(Tb4b4b4(Te6edf3hibyte Tff7b72& T79c0ff0x03Tb4b4b4) Tff7b72<< T79c0ff8Tb4b4b4) Tff7b72| Te6edf3lowbyte
Tff7b72if Te6edf3exp Tff7b72== T79c0ff0Tb4b4b4:
Te6edf3val Tff7b72= Te6edf3mant Tff7b72* Tb4b4b4(T79c0ff2.0 Tff7b72*Tff7b72* Tff7b72-T79c0ff24Tb4b4b4)
Tff7b72elif Te6edf3exp Tff7b72== T79c0ff31Tb4b4b4:
Te6edf3val Tff7b72= Tffa657floatTb4b4b4(Ta5d6ff'Ta5d6ffInfTa5d6ff'Tb4b4b4) Tff7b72if Te6edf3mant Tff7b72== T79c0ff0 Tff7b72else Tffa657floatTb4b4b4(Ta5d6ff'Ta5d6ffNaNTa5d6ff'Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3val Tff7b72= Tb4b4b4(Te6edf3mant Tff7b72+ T79c0ff1024.0Tb4b4b4) Tff7b72* Tb4b4b4(T79c0ff2 Tff7b72*Tff7b72* Tb4b4b4(Te6edf3exp Tff7b72- T79c0ff25Tb4b4b4)Tb4b4b4)
Tff7b72if Te6edf3hibyte Tff7b72& T79c0ff0x80Tb4b4b4:
Te6edf3val Tff7b72= Tff7b72-T79c0ff1.0 Tff7b72* Te6edf3val
Tff7b72return Tb4b4b4(Te6edf3valTb4b4b4, T79c0ff3Tb4b4b4)
Tff7b72elif Te6edf3tb Tff7b72== Te6edf3CBOR_FLOAT32Tb4b4b4:
Te6edf3data Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff4Tb4b4b4)
Te6edf3pf Tff7b72= Te6edf3structTff7b72.Td2a8ffunpack_fromTb4b4b4(Ta5d6ff"Ta5d6ff!fTa5d6ff"Tb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4)
Tff7b72return Tb4b4b4(Te6edf3pfTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4, T79c0ff5Tb4b4b4)
Tff7b72elif Te6edf3tb Tff7b72== Te6edf3CBOR_FLOAT64Tb4b4b4:
Te6edf3data Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff8Tb4b4b4)
Te6edf3pf Tff7b72= Te6edf3structTff7b72.Td2a8ffunpack_fromTb4b4b4(Ta5d6ff"Ta5d6ff!dTa5d6ff"Tb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4)
Tff7b72return Tb4b4b4(Te6edf3pfTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4, T79c0ff9Tb4b4b4)

Te6edf3tagTb4b4b4, Te6edf3tag_auxTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3bytes_read Tff7b72= Te6edf3_tag_auxTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3tbTb4b4b4)

Tff7b72if Te6edf3tag Tff7b72== Te6edf3CBOR_UINTTb4b4b4:
Tff7b72return Tb4b4b4(Te6edf3auxTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72elif Te6edf3tag Tff7b72== Te6edf3CBOR_NEGINTTb4b4b4:
Tff7b72return Tb4b4b4(Tff7b72-T79c0ff1 Tff7b72- Te6edf3auxTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72elif Te6edf3tag Tff7b72== Te6edf3CBOR_BYTESTb4b4b4:
Te6edf3obTb4b4b4, Te6edf3subpos Tff7b72= Te6edf3loads_bytesTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3auxTb4b4b4)
Tff7b72return Tb4b4b4(Te6edf3obTb4b4b4, Te6edf3bytes_read Tff7b72+ Te6edf3subposTb4b4b4)
Tff7b72elif Te6edf3tag Tff7b72== Te6edf3CBOR_TEXTTb4b4b4:
Te6edf3rawTb4b4b4, Te6edf3subpos Tff7b72= Te6edf3loads_bytesTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3btagTff7b72=Te6edf3CBOR_TEXTTb4b4b4)
Te6edf3ob Tff7b72= Te6edf3rawTff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff'Ta5d6ffutf8Ta5d6ff'Tb4b4b4)
Tff7b72return Tb4b4b4(Te6edf3obTb4b4b4, Te6edf3bytes_read Tff7b72+ Te6edf3subposTb4b4b4)
Tff7b72elif Te6edf3tag Tff7b72== Te6edf3CBOR_ARRAYTb4b4b4:
Tff7b72if Te6edf3aux Tff7b72is Tff7b72NoneTb4b4b4:
Tff7b72return Te6edf3_loads_var_arrayTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72return Te6edf3_loads_arrayTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72elif Te6edf3tag Tff7b72== Te6edf3CBOR_MAPTb4b4b4:
Tff7b72if Te6edf3aux Tff7b72is Tff7b72NoneTb4b4b4:
Tff7b72return Te6edf3_loads_var_mapTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72return Te6edf3_loads_mapTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depthTb4b4b4, Te6edf3returntagsTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72elif Te6edf3tag Tff7b72== Te6edf3CBOR_TAGTb4b4b4:
Te6edf3obTb4b4b4, Te6edf3subpos Tff7b72= Te6edf3_loadsTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3limitTb4b4b4, Te6edf3depth Tff7b72+ T79c0ff1Tb4b4b4, Te6edf3returntagsTb4b4b4)
Te6edf3bytes_read Tff7b72+Tff7b72= Te6edf3subpos
Tff7b72if Te6edf3returntagsTb4b4b4:
Te6edf3ob Tff7b72= Te6edf3TagTb4b4b4(Te6edf3auxTb4b4b4, Te6edf3obTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3ob Tff7b72= Te6edf3tagifyTb4b4b4(Te6edf3obTb4b4b4, Te6edf3auxTb4b4b4)
Tff7b72return Te6edf3obTb4b4b4, Te6edf3bytes_read
Tff7b72elif Te6edf3tag Tff7b72== Te6edf3CBOR_7Tb4b4b4:
Tff7b72if Te6edf3tb Tff7b72== Te6edf3CBOR_TRUETb4b4b4:
Tff7b72return Tb4b4b4(Tff7b72TrueTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72if Te6edf3tb Tff7b72== Te6edf3CBOR_FALSETb4b4b4:
Tff7b72return Tb4b4b4(Tff7b72FalseTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72if Te6edf3tb Tff7b72== Te6edf3CBOR_NULLTb4b4b4:
Tff7b72return Tb4b4b4(Tff7b72NoneTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72if Te6edf3tb Tff7b72== Te6edf3CBOR_UNDEFINEDTb4b4b4:
Tff7b72return Tb4b4b4(Tff7b72NoneTb4b4b4, Te6edf3bytes_readTb4b4b4)
Tff7b72raise Tf85149ValueErrorTb4b4b4(Ta5d6ff"Ta5d6ffunknown cbor tag 7 byte: Tffd700{:02x}Ta5d6ff"Tff7b72.Td2a8ffformatTb4b4b4(Te6edf3tbTb4b4b4)Tb4b4b4)


Tff7b72def Td2a8ffloads_bytesTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3btagTff7b72=Te6edf3CBOR_BYTESTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3aux Tff7b72is Tff7b72not Tff7b72NoneTb4b4b4:
Te6edf3ob Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(Te6edf3auxTb4b4b4)
Tff7b72return Tb4b4b4(Te6edf3obTb4b4b4, Te6edf3auxTb4b4b4)
Te6edf3chunklist Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3total_bytes_read Tff7b72= T79c0ff0
Tff7b72while Tff7b72TrueTb4b4b4:
Te6edf3tb Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72if Te6edf3tb Tff7b72== Te6edf3CBOR_BREAKTb4b4b4:
Te6edf3total_bytes_read Tff7b72+Tff7b72= T79c0ff1
Tff7b72break
Te6edf3tagTb4b4b4, Te6edf3tag_auxTb4b4b4, Te6edf3auxTb4b4b4, Te6edf3bytes_read Tff7b72= Te6edf3_tag_auxTb4b4b4(Te6edf3fpTb4b4b4, Te6edf3tbTb4b4b4)
Tff7b72assert Te6edf3tag Tff7b72== Te6edf3btagTb4b4b4, Ta5d6ff'Ta5d6ffvariable length value contains unexpected componentTa5d6ff'
Te6edf3ob Tff7b72= Te6edf3fpTff7b72.Td2a8ffreadTb4b4b4(Te6edf3auxTb4b4b4)
Te6edf3chunklistTff7b72.Td2a8ffappendTb4b4b4(Te6edf3obTb4b4b4)
Te6edf3total_bytes_read Tff7b72+Tff7b72= Te6edf3bytes_read Tff7b72+ Te6edf3aux
Tff7b72return Tb4b4b4(Ta5d6ffbTa5d6ff'Ta5d6ff'Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3chunklistTb4b4b4)Tb4b4b4, Te6edf3total_bytes_readTb4b4b4)


Tff7b72def Td2a8ff_bytes_to_biguintTb4b4b4(Te6edf3bsTb4b4b4)Tb4b4b4:
Te6edf3out Tff7b72= T79c0ff0
Tff7b72for Te6edf3ch Tff7b72in Te6edf3bsTb4b4b4:
Te6edf3out Tff7b72= Te6edf3out Tff7b72<< T79c0ff8
Te6edf3out Tff7b72= Te6edf3out Tff7b72| Te6edf3ch
Tff7b72return Te6edf3out


Tff7b72def Td2a8fftagifyTb4b4b4(Te6edf3obTb4b4b4, Te6edf3auxTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3aux Tff7b72== Te6edf3CBOR_TAG_DATE_STRINGTb4b4b4:
T8b949e# RFC3339 date string parsing not implemented; return as Tag.
Tff7b72return Te6edf3TagTb4b4b4(Te6edf3auxTb4b4b4, Te6edf3obTb4b4b4)
Tff7b72if Te6edf3aux Tff7b72== Te6edf3CBOR_TAG_DATE_ARRAYTb4b4b4:
Tff7b72return Te6edf3datetimeTff7b72.Td2a8ffdatetimeTff7b72.Td2a8fffromtimestampTb4b4b4(Te6edf3obTb4b4b4, Te6edf3tzTff7b72=Te6edf3datetimeTff7b72.Td2a8fftimezoneTff7b72.Td2a8ffutcTb4b4b4)
Tff7b72if Te6edf3aux Tff7b72== Te6edf3CBOR_TAG_BIGNUMTb4b4b4:
Tff7b72return Te6edf3_bytes_to_biguintTb4b4b4(Te6edf3obTb4b4b4)
Tff7b72if Te6edf3aux Tff7b72== Te6edf3CBOR_TAG_NEGBIGNUMTb4b4b4:
Tff7b72return Tff7b72-T79c0ff1 Tff7b72- Te6edf3_bytes_to_biguintTb4b4b4(Te6edf3obTb4b4b4)
Tff7b72if Te6edf3aux Tff7b72== Te6edf3CBOR_TAG_REGEXTb4b4b4:
Tff7b72return Te6edf3reTff7b72.Td2a8ffcompileTb4b4b4(Te6edf3obTb4b4b4)
Tff7b72return Te6edf3TagTb4b4b4(Te6edf3auxTb4b4b4, Te6edf3obTb4b4b4)


Tff7b72def Td2a8ffencodeTb4b4b4(Te6edf3objTb4b4b4, Te6edf3sort_keysTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3dumpsTb4b4b4(Te6edf3objTb4b4b4, Te6edf3sort_keysTff7b72=Te6edf3sort_keysTb4b4b4)


Tff7b72def Td2a8ffdecodeTb4b4b4(Te6edf3dataTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3loadsTb4b4b4(Te6edf3dataTb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────